package fr.afcepf.atod21.data.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the produit_stock database table.
 * 
 */
@Entity
@Table(name="produit_stock")
@NamedQuery(name="ProduitStock.findAll", query="SELECT p FROM ProduitStock p")
public class ProduitStock implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idproduit;

	@Temporal(TemporalType.TIMESTAMP)
	private Date dateajout;

	@Temporal(TemporalType.TIMESTAMP)
	private Date datesupprprod;

	@Lob
	private String libelleproduit;

	private double poidsproduit;

	private double prixproduit;

	private int stockproduit;

	//bi-directional many-to-one association to LignedecommandeFournisseur
	@OneToMany(mappedBy="produitStock")
	private List<LignedecommandeFournisseur> lignedecommandeFournisseurs;

	//bi-directional many-to-one association to EtatproduitStock
	@ManyToOne
	@JoinColumn(name="IDETATCOMMANDE")
	private EtatproduitStock etatproduitStock;

	public ProduitStock() {
	}

	public int getIdproduit() {
		return this.idproduit;
	}

	public void setIdproduit(int idproduit) {
		this.idproduit = idproduit;
	}

	public Date getDateajout() {
		return this.dateajout;
	}

	public void setDateajout(Date dateajout) {
		this.dateajout = dateajout;
	}

	public Date getDatesupprprod() {
		return this.datesupprprod;
	}

	public void setDatesupprprod(Date datesupprprod) {
		this.datesupprprod = datesupprprod;
	}

	public String getLibelleproduit() {
		return this.libelleproduit;
	}

	public void setLibelleproduit(String libelleproduit) {
		this.libelleproduit = libelleproduit;
	}

	public double getPoidsproduit() {
		return this.poidsproduit;
	}

	public void setPoidsproduit(double poidsproduit) {
		this.poidsproduit = poidsproduit;
	}

	public double getPrixproduit() {
		return this.prixproduit;
	}

	public void setPrixproduit(double prixproduit) {
		this.prixproduit = prixproduit;
	}

	public int getStockproduit() {
		return this.stockproduit;
	}

	public void setStockproduit(int stockproduit) {
		this.stockproduit = stockproduit;
	}

	public List<LignedecommandeFournisseur> getLignedecommandeFournisseurs() {
		return this.lignedecommandeFournisseurs;
	}

	public void setLignedecommandeFournisseurs(List<LignedecommandeFournisseur> lignedecommandeFournisseurs) {
		this.lignedecommandeFournisseurs = lignedecommandeFournisseurs;
	}

	public LignedecommandeFournisseur addLignedecommandeFournisseur(LignedecommandeFournisseur lignedecommandeFournisseur) {
		getLignedecommandeFournisseurs().add(lignedecommandeFournisseur);
		lignedecommandeFournisseur.setProduitStock(this);

		return lignedecommandeFournisseur;
	}

	public LignedecommandeFournisseur removeLignedecommandeFournisseur(LignedecommandeFournisseur lignedecommandeFournisseur) {
		getLignedecommandeFournisseurs().remove(lignedecommandeFournisseur);
		lignedecommandeFournisseur.setProduitStock(null);

		return lignedecommandeFournisseur;
	}

	public EtatproduitStock getEtatproduitStock() {
		return this.etatproduitStock;
	}

	public void setEtatproduitStock(EtatproduitStock etatproduitStock) {
		this.etatproduitStock = etatproduitStock;
	}

}